In the following appendix, I present the R Code for an alternative, fuzzy-set calibration of the data.
First, I load the required R packages1:
library(QCA)
library(QCA3)
library(wordcloud)
library(SetMethods)
library(car)
Next, I import the raw data and create an empty data-set for the QCA data-set:
data <- read.csv("../data/raw-data.csv")
data$X <- NULL # clean up import artifact
data$cases <- paste(data$IO, data$Year, sep = "") # name cases
data_qca <- as.data.frame(matrix(0, ncol = 0, nrow = 70))
data_qca$cases <- data$cases
# add case names as row names
row.names(data_qca) <- data_qca$cases
The following code-blocks show the steps I took to calibrate the data-set. Again, the detailed description is included in Chapter 5.
thr1 <- 0.8
data_qca$TALK.Part <- c(thr1, 1, 1, thr1, thr1, rep(0, 31), rep(thr1, 5),
1,thr1, rep(1, 3), rep(thr1, 3), 1, rep(thr1, 4), 1, 0, 1, 1,
rep(thr1, 10), 1, 1)
data_qca$TALK.Trans <- c(rep(0, 36), rep(thr1, 9), 1, rep(thr1, 8), 1, 0,
rep(thr1, 2), 1, thr1, thr1, 1, rep(thr1, 7), 1)
thr1 <- 0.7
thr2 <- 0.9
data_qca$DEC.Part <- c(rep(0, 15), rep(1, 4), rep(0, 36), rep(1, 7),
rep(0,8))
data_qca$DEC.Trans <- c(rep(0, 29), rep(thr1, 7), rep(thr2, 7),
rep(1, 12), 0, thr1, rep(thr2, 11), rep(1, 2))
data_qca$ACT.Part.1 <- c(0, rep(1, 7), rep(0, 26), rep(1, 21), rep(1, 4),
rep(0, 8), rep(1, 3))
data_qca$ACT.Part.2 <- c(rep(0, 51), rep(1, 4), rep(0, 12), rep(1, 3))
data_qca$ACT.Part.4 <- c(rep(0, 25), rep(1, 13), rep(0, 3), rep(1, 5),
rep(0, 2), rep(1, 7), rep(0, 7), rep(1, 3),0, 0, 1, 1, 1)
data_qca$ACT.Trans <- c(rep(0, 4), rep(1, 3), rep(0, 38), rep(1, 10),
rep(0, 7), rep(1, 4), rep(0, 4))
thr1 <- 0.8
data_qca$RB.Budget <- c(rep(0, 26), rep(thr1, 4), rep(0, 6), rep(thr1, 9),
rep(0, 10), rep(0, 2), rep(1, 4), rep(0, 6), rep(thr1, 3))
data_qca$RB.Inequality <- recode(data$RB.Inequality,
recodes = "0:0.8126000=0; 0.8126313:0.9=1")
data_qca$RB.Complexity <- c(rep(1, 55), rep(0, 15))
thr1 <- 0.8
data_qca$NB.visibility.all <- c(rep(0, 29), rep(thr1, 5), rep(1, 4),
rep(thr1, 7), rep(1, 6), rep(thr1, 3), 1, rep(0, 15))
data_qca$NB.visibility.hl <- c(rep(0, 29), rep(1, 3), rep(0, 10),
rep(1, 5), rep(0, 5), rep(1, 3), rep(0, 15))
data_qca$NB.gov.depth <- c(rep(0, 13), rep(thr1, 21), rep(1, 21), rep(0, 15))
data_qca$NB.dem.mem <- c(rep(0, 36), rep(1, 19), rep(0, 7), rep(1, 8))
data_qca$NB.og.norm <- c(rep(0, 33), rep(thr1, 6), rep(1, 16), rep(1, 15))
Next, I present the analysis of the individual outcome variables.
#truth table w/o IAEA1957:1961, OPCW 1997
data_qca$TALKPART <- data_qca$TALK.Part # for QCA package conventions
tt <- truthTable(data_qca[c(6:55, 57:70), c(18, 10:17)], outcome =
c("TALKPART"), incl.cut1=0.8, sort.by="incl",
show.cases = TRUE)
# necessary conditions for participation talk
superSubset(data_qca[c(6:55, 57:70), c(18, 10:17)], outcome =
"TALKPART", relation="necessity", incl.cut=1, cov.cut=0.8)
##
## incl cov.r
## -----------------------------------------
## 1 NB.OG.NORM 1.000 0.816
## 2 rb.complexity+NB.DEM.MEM 1.000 0.861
## 3 RB.INEQUALITY+NB.DEM.MEM 1.000 0.861
## -----------------------------------------
# neg. outcome, to check for contradictions
superSubset(data_qca[c(6:55, 57:70), c(18, 10:17)], outcome =
"TALKPART", relation="necessity", incl.cut=0.9, cov.cut=0.8, neg.out = T)
##
## incl cov.r
## --------------------------------------
## 1 nb.dem.mem+nb.og.norm 0.910 0.862
## --------------------------------------
## sufficient conditions without nc og.norm
tt <- truthTable(data_qca[c(6:55, 57:70), c(18, 10:16)],
outcome = c("TALKPART"), incl.cut1=0.8, sort.by="incl",
show.cases = TRUE)
eqmcc(tt, include="?", show.cases = TRUE, details = TRUE)
##
## n OUT = 1/0/C: 33/31/0
## Total : 64
##
## Number of multiple-covered cases: 8
##
## M1: NB.DEM.MEM + (rb.complexity) <=> TALKPART
## M2: NB.DEM.MEM + (RB.INEQUALITY) <=> TALKPART
##
## -------------------
## incl cov.r cov.u (M1) (M2)
## ---------------------------------------------------
## 1 NB.DEM.MEM 0.859 0.817 0.486 0.577 0.486
## ---------------------------------------------------
## 2 rb.complexity 0.857 0.423 0.000 0.183
## 3 RB.INEQUALITY 0.859 0.514 0.000 0.183
## ---------------------------------------------------
## M1 0.861 1.000
## M2 0.861 1.000
##
## cases
## -----------------------
## 1 NB.DEM.MEM IAEA2009,IAEA2010,IAEA2011; IAEA1993,IAEA1994,IAEA1995,IAEA1996,IAEA1997,IAEA1998;
## IAEA1999,IAEA2000,IAEA2001; OPCW2009,OPCW2010,OPCW2011; IAEA2002,IAEA2003;
## IAEA2004,IAEA2005,IAEA2006,IAEA2007,IAEA2008; OPCW2004,OPCW2005,OPCW2006,OPCW2007,OPCW2008
## -----------------------
## 2 rb.complexity OPCW2009,OPCW2010,OPCW2011; OPCW1998,OPCW2003; OPCW1999,OPCW2000,OPCW2001,OPCW2002;
## OPCW2004,OPCW2005,OPCW2006,OPCW2007,OPCW2008
## 3 RB.INEQUALITY IAEA2009,IAEA2010,IAEA2011; OPCW2009,OPCW2010,OPCW2011; OPCW1998,OPCW2003;
## OPCW1999,OPCW2000,OPCW2001,OPCW2002; OPCW2004,OPCW2005,OPCW2006,OPCW2007,OPCW2008
## -----------------------
# neg. outcome, to check for contradictions
tt <- truthTable(data_qca[c(6:55, 57:70), c(18, 10:16)],
outcome = c("TALKPART"), incl.cut1=0.8, sort.by="incl",
show.cases = TRUE, neg.out = T)
eqmcc(tt, include="?", show.cases = TRUE, details = TRUE)
##
## n OUT = 1/0/C: 31/33/0
## Total : 64
##
## Number of multiple-covered cases: 0
##
## M1: RB.COMPLEXITY*nb.dem.mem <=> talkpart
## M2: rb.inequality*nb.dem.mem <=> talkpart
##
## -------------------
## incl cov.r cov.u (M1) (M2)
## --------------------------------------------------------------
## 1 RB.COMPLEXITY*nb.dem.mem 1.000 0.871 0.000 -
## 2 rb.inequality*nb.dem.mem 1.000 0.871 0.000 -
## --------------------------------------------------------------
## M1 1.000 0.871
## M2 1.000 0.871
##
## cases
## ----------------------------------
## 1 RB.COMPLEXITY*nb.dem.mem IAEA1962,IAEA1963,IAEA1964,IAEA1965,IAEA1966,IAEA1967,IAEA1968,IAEA1969;
## IAEA1970,IAEA1971,IAEA1972,IAEA1973,IAEA1974,IAEA1975,IAEA1976,IAEA1977,IAEA1978,IAEA1979,IAEA1980,IAEA1981,IAEA1982;
## IAEA1989,IAEA1990,IAEA1991,IAEA1992; IAEA1987,IAEA1988;
## IAEA1983,IAEA1984,IAEA1985; IAEA1986
## 2 rb.inequality*nb.dem.mem IAEA1962,IAEA1963,IAEA1964,IAEA1965,IAEA1966,IAEA1967,IAEA1968,IAEA1969;
## IAEA1970,IAEA1971,IAEA1972,IAEA1973,IAEA1974,IAEA1975,IAEA1976,IAEA1977,IAEA1978,IAEA1979,IAEA1980,IAEA1981,IAEA1982;
## IAEA1989,IAEA1990,IAEA1991,IAEA1992; IAEA1987,IAEA1988;
## IAEA1983,IAEA1984,IAEA1985; IAEA1986
## ----------------------------------
# exclude complexity, because it is redundant
data_qca$TALKTRANS <- data_qca$TALK.Trans # for QCA package conventions
tt <- truthTable(data_qca[c(1:55, 57:70), c(19, 10:17)],
outcome = c("TALKTRANS"), incl.cut1=0.8, sort.by="incl",
show.cases = TRUE)
# necessary conditions
superSubset(data_qca[c(1:55, 57:60), c(19, 10:17)], outcome = "TALKTRANS",
relation="nec", incl.cut=0.9, cov.cut=0.76)
##
## incl cov.r
## -----------------------------------------
## 1 NB.OG.NORM 1.000 0.766
## 2 rb.complexity+NB.DEM.MEM 1.000 0.826
## 3 RB.INEQUALITY+NB.DEM.MEM 1.000 0.826
## -----------------------------------------
# neg. outcome, to check for contradictions
superSubset(data_qca[c(1:55, 57:60), c(19, 10:17)], outcome = "TALKTRANS",
relation="nec", incl.cut=0.9, cov.cut=0.76, neg.out = T)
##
## incl cov.r
## -----------------------------------------------------------
## 1 nb.dem.mem 0.915 0.915
## 2 rb.budget 0.910 0.798
## 3 RB.COMPLEXITY*nb.dem.mem 0.900 1.000
## 4 rb.inequality*nb.dem.mem 0.900 1.000
## 5 rb.budget*RB.COMPLEXITY 0.905 0.812
## 6 rb.inequality*RB.COMPLEXITY*nb.dem.mem 0.900 1.000
## 7 nb.visibility.hl+nb.og.norm 0.970 0.761
## 8 nb.visibility.all+nb.og.norm 0.915 0.915
## 9 NB.VISIBILITY.HL+nb.gov.depth+nb.og.norm 0.900 0.779
## 10 rb.complexity+NB.VISIBILITY.HL+nb.og.norm 0.900 0.779
## 11 RB.INEQUALITY+NB.VISIBILITY.HL+nb.og.norm 0.900 0.779
## 12 RB.BUDGET+nb.gov.depth+nb.og.norm 0.900 0.804
## 13 RB.BUDGET+rb.complexity+nb.og.norm 0.900 0.804
## 14 RB.BUDGET+RB.INEQUALITY+nb.og.norm 0.910 0.762
## -----------------------------------------------------------
# sufficient conditions, w/o og. norm
tt <- truthTable(data_qca[c(1:55, 57:70), c(19, 10:16)],
outcome = c("TALKTRANS"), incl.cut1=0.8, sort.by="incl",
show.cases = TRUE)
eqmcc(tt, include="?", show.cases = TRUE, details = TRUE)
##
## n OUT = 1/0/C: 33/36/0
## Total : 69
##
## Number of multiple-covered cases: 8
##
## M1: NB.DEM.MEM + (rb.complexity) <=> TALKTRANS
## M2: NB.DEM.MEM + (RB.INEQUALITY) <=> TALKTRANS
##
## -------------------
## incl cov.r cov.u (M1) (M2)
## ---------------------------------------------------
## 1 NB.DEM.MEM 0.822 0.810 0.474 0.569 0.474
## ---------------------------------------------------
## 2 rb.complexity 0.843 0.431 0.000 0.190
## 3 RB.INEQUALITY 0.847 0.526 0.000 0.190
## ---------------------------------------------------
## M1 0.830 1.000
## M2 0.830 1.000
##
## cases
## -----------------------
## 1 NB.DEM.MEM IAEA2009,IAEA2010,IAEA2011; IAEA1993,IAEA1994,IAEA1995,IAEA1996,IAEA1997,IAEA1998;
## IAEA1999,IAEA2000,IAEA2001; OPCW2009,OPCW2010,OPCW2011; IAEA2002,IAEA2003;
## IAEA2004,IAEA2005,IAEA2006,IAEA2007,IAEA2008; OPCW2004,OPCW2005,OPCW2006,OPCW2007,OPCW2008
## -----------------------
## 2 rb.complexity OPCW2009,OPCW2010,OPCW2011; OPCW1998,OPCW2003; OPCW1999,OPCW2000,OPCW2001,OPCW2002;
## OPCW2004,OPCW2005,OPCW2006,OPCW2007,OPCW2008
## 3 RB.INEQUALITY IAEA2009,IAEA2010,IAEA2011; OPCW2009,OPCW2010,OPCW2011; OPCW1998,OPCW2003;
## OPCW1999,OPCW2000,OPCW2001,OPCW2002; OPCW2004,OPCW2005,OPCW2006,OPCW2007,OPCW2008
## -----------------------
# neg. outcome, to check for contradictions
tt <- truthTable(data_qca[c(1:55, 57:70), c(19, 10:16)],
outcome = c("TALKTRANS"), incl.cut1=0.8, sort.by="incl",
show.cases = TRUE, neg.out = T)
eqmcc(tt, include="?", show.cases = TRUE, details = TRUE)
##
## n OUT = 1/0/C: 36/33/0
## Total : 69
##
## Number of multiple-covered cases: 0
##
## M1: RB.COMPLEXITY*nb.dem.mem <=> talktrans
## M2: rb.inequality*nb.dem.mem <=> talktrans
##
## -------------------
## incl cov.r cov.u (M1) (M2)
## --------------------------------------------------------------
## 1 RB.COMPLEXITY*nb.dem.mem 1.000 0.865 0.000 -
## 2 rb.inequality*nb.dem.mem 1.000 0.865 0.000 -
## --------------------------------------------------------------
## M1 1.000 0.865
## M2 1.000 0.865
##
## cases
## ----------------------------------
## 1 RB.COMPLEXITY*nb.dem.mem IAEA1957,IAEA1958,IAEA1959,IAEA1960,IAEA1961,IAEA1962,IAEA1963,IAEA1964,IAEA1965,IAEA1966,IAEA1967,IAEA1968,IAEA1969;
## IAEA1970,IAEA1971,IAEA1972,IAEA1973,IAEA1974,IAEA1975,IAEA1976,IAEA1977,IAEA1978,IAEA1979,IAEA1980,IAEA1981,IAEA1982;
## IAEA1989,IAEA1990,IAEA1991,IAEA1992; IAEA1987,IAEA1988;
## IAEA1983,IAEA1984,IAEA1985; IAEA1986
## 2 rb.inequality*nb.dem.mem IAEA1957,IAEA1958,IAEA1959,IAEA1960,IAEA1961,IAEA1962,IAEA1963,IAEA1964,IAEA1965,IAEA1966,IAEA1967,IAEA1968,IAEA1969;
## IAEA1970,IAEA1971,IAEA1972,IAEA1973,IAEA1974,IAEA1975,IAEA1976,IAEA1977,IAEA1978,IAEA1979,IAEA1980,IAEA1981,IAEA1982;
## IAEA1989,IAEA1990,IAEA1991,IAEA1992; IAEA1987,IAEA1988;
## IAEA1983,IAEA1984,IAEA1985; IAEA1986
## ----------------------------------
# exclude complexity, because it is redundant
data_qca$DECPART <- data_qca$DEC.Part # for QCA package conventions
# without IAEA1972:1975
tt <- truthTable(data_qca[c(1:15, 20:70), c(20, 10:17)],
outcome = c("DECPART"), incl.cut1=1, sort.by="incl",
show.cases = TRUE)
superSubset(data_qca[c(1:15, 20:70), c(20, 10:17)], outcome = "DECPART",
relation="nec", incl.cut=1, cov.cut=1)
##
## incl cov.r
## -------------------------------------------------------------------------------------------------------------------
## 1 rb.complexity*nb.dem.mem 1.000 1.000
## 2 RB.INEQUALITY*nb.dem.mem 1.000 1.000
## 3 rb.complexity*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 4 rb.complexity*nb.gov.depth*nb.dem.mem 1.000 1.000
## 5 rb.complexity*nb.visibility.hl*nb.dem.mem 1.000 1.000
## 6 rb.complexity*nb.visibility.all*nb.dem.mem 1.000 1.000
## 7 RB.INEQUALITY*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 8 RB.INEQUALITY*nb.gov.depth*nb.dem.mem 1.000 1.000
## 9 RB.INEQUALITY*nb.visibility.hl*nb.dem.mem 1.000 1.000
## 10 RB.INEQUALITY*nb.visibility.all*nb.dem.mem 1.000 1.000
## 11 RB.INEQUALITY*rb.complexity*nb.dem.mem 1.000 1.000
## 12 rb.complexity*nb.gov.depth*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 13 rb.complexity*nb.visibility.hl*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 14 rb.complexity*nb.visibility.hl*nb.gov.depth*nb.dem.mem 1.000 1.000
## 15 rb.complexity*nb.visibility.all*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 16 rb.complexity*nb.visibility.all*nb.gov.depth*nb.dem.mem 1.000 1.000
## 17 rb.complexity*nb.visibility.all*nb.visibility.hl*nb.dem.mem 1.000 1.000
## 18 RB.INEQUALITY*nb.gov.depth*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 19 RB.INEQUALITY*nb.visibility.hl*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 20 RB.INEQUALITY*nb.visibility.hl*nb.gov.depth*nb.dem.mem 1.000 1.000
## 21 RB.INEQUALITY*nb.visibility.all*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 22 RB.INEQUALITY*nb.visibility.all*nb.gov.depth*nb.dem.mem 1.000 1.000
## 23 RB.INEQUALITY*nb.visibility.all*nb.visibility.hl*nb.dem.mem 1.000 1.000
## 24 RB.INEQUALITY*rb.complexity*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 25 RB.INEQUALITY*rb.complexity*nb.gov.depth*nb.dem.mem 1.000 1.000
## 26 RB.INEQUALITY*rb.complexity*nb.visibility.hl*nb.dem.mem 1.000 1.000
## 27 RB.INEQUALITY*rb.complexity*nb.visibility.all*nb.dem.mem 1.000 1.000
## 28 rb.complexity*nb.visibility.hl*nb.gov.depth*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 29 rb.complexity*nb.visibility.all*nb.gov.depth*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 30 rb.complexity*nb.visibility.all*nb.visibility.hl*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 31 rb.complexity*nb.visibility.all*nb.visibility.hl*nb.gov.depth*nb.dem.mem 1.000 1.000
## 32 RB.INEQUALITY*nb.visibility.hl*nb.gov.depth*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 33 RB.INEQUALITY*nb.visibility.all*nb.gov.depth*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 34 RB.INEQUALITY*nb.visibility.all*nb.visibility.hl*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 35 RB.INEQUALITY*nb.visibility.all*nb.visibility.hl*nb.gov.depth*nb.dem.mem 1.000 1.000
## 36 RB.INEQUALITY*rb.complexity*nb.gov.depth*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 37 RB.INEQUALITY*rb.complexity*nb.visibility.hl*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 38 RB.INEQUALITY*rb.complexity*nb.visibility.hl*nb.gov.depth*nb.dem.mem 1.000 1.000
## 39 RB.INEQUALITY*rb.complexity*nb.visibility.all*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 40 RB.INEQUALITY*rb.complexity*nb.visibility.all*nb.gov.depth*nb.dem.mem 1.000 1.000
## 41 RB.INEQUALITY*rb.complexity*nb.visibility.all*nb.visibility.hl*nb.dem.mem 1.000 1.000
## 42 rb.complexity*nb.visibility.all*nb.visibility.hl*nb.gov.depth*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 43 RB.INEQUALITY*nb.visibility.all*nb.visibility.hl*nb.gov.depth*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 44 RB.INEQUALITY*rb.complexity*nb.visibility.hl*nb.gov.depth*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 45 RB.INEQUALITY*rb.complexity*nb.visibility.all*nb.gov.depth*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 46 RB.INEQUALITY*rb.complexity*nb.visibility.all*nb.visibility.hl*nb.dem.mem*NB.OG.NORM 1.000 1.000
## 47 RB.INEQUALITY*rb.complexity*nb.visibility.all*nb.visibility.hl*nb.gov.depth*nb.dem.mem 1.000 1.000
## 48 RB.INEQUALITY*rb.complexity*nb.visibility.all*nb.visibility.hl*nb.gov.depth*nb.dem.mem*NB.OG.NORM 1.000 1.000
## -------------------------------------------------------------------------------------------------------------------
# neg. outcome, to check for contradictions
superSubset(data_qca[c(1:15, 20:70), c(20, 10:17)], outcome = "DECPART",
relation="nec", incl.cut=1, cov.cut=1, neg.out = T)
##
## incl cov.r
## -----------------------------------------
## 1 RB.COMPLEXITY+NB.DEM.MEM 1.000 1.000
## 2 rb.inequality+NB.DEM.MEM 1.000 1.000
## -----------------------------------------
# sufficient conditions
eqmcc(tt, include="?", show.cases = TRUE, details = TRUE)
##
## n OUT = 1/0/C: 7/59/0
## Total : 66
##
## Number of multiple-covered cases: 0
##
## M1: rb.complexity*nb.dem.mem <=> DECPART
## M2: RB.INEQUALITY*nb.dem.mem <=> DECPART
## M3: nb.gov.depth*nb.dem.mem*NB.OG.NORM => DECPART
## M4: nb.visibility.all*nb.dem.mem*NB.OG.NORM => DECPART
##
##
## -------------------
## incl cov.r cov.u (M1) (M2)
## -----------------------------------------------------------------------------
## 1 rb.complexity*nb.dem.mem 1.000 1.000 0.000 -
## 2 RB.INEQUALITY*nb.dem.mem 1.000 1.000 0.000 -
## 3 nb.gov.depth*nb.dem.mem*NB.OG.NORM 0.972 1.000 0.000
## 4 nb.visibility.all*nb.dem.mem*NB.OG.NORM 0.972 1.000 0.000
## -----------------------------------------------------------------------------
## M1 1.000 1.000
## M2 1.000 1.000
## M3 0.972 1.000
## M4 0.972 1.000
##
## --------------------------------------------------------
## (M3) (M4)
## --------------------------------------------------------
## 1 rb.complexity*nb.dem.mem
## 2 RB.INEQUALITY*nb.dem.mem
## 3 nb.gov.depth*nb.dem.mem*NB.OG.NORM -
## 4 nb.visibility.all*nb.dem.mem*NB.OG.NORM -
## --------------------------------------------------------
##
## cases
## -------------------------------------------------
## 1 rb.complexity*nb.dem.mem OPCW1997,OPCW1998,OPCW2003; OPCW1999,OPCW2000,OPCW2001,OPCW2002
## 2 RB.INEQUALITY*nb.dem.mem OPCW1997,OPCW1998,OPCW2003; OPCW1999,OPCW2000,OPCW2001,OPCW2002
## 3 nb.gov.depth*nb.dem.mem*NB.OG.NORM OPCW1997,OPCW1998,OPCW2003; OPCW1999,OPCW2000,OPCW2001,OPCW2002
## 4 nb.visibility.all*nb.dem.mem*NB.OG.NORM OPCW1997,OPCW1998,OPCW2003; OPCW1999,OPCW2000,OPCW2001,OPCW2002
## -------------------------------------------------
QCAfit(fsand(fsnot(data_qca$NB.dem.mem[c(1:15, 20:70)]),
data_qca$RB.Inequality[c(1:15, 20:70)]),
data_qca$DECPART[c(1:15, 20:70)])
## Cons. Suf. Cov. Suf. PRI PRODUCT
## [1,] 1 1 1 1
## attr(,"class")
## [1] "SetMethod"
# neg. outcome, to check for contradictions
tt <- truthTable(data_qca[c(1:15, 20:70), c(20, 10:17)],
outcome = c("DECPART"), incl.cut1=1, sort.by="incl",
show.cases = TRUE, neg.out = T)
eqmcc(tt, include="?", show.cases = TRUE, details = TRUE)
##
## n OUT = 1/0/C: 59/7/0
## Total : 66
##
## Number of multiple-covered cases: 19
##
## M1: NB.DEM.MEM + (RB.COMPLEXITY) <=> decpart
## M2: NB.DEM.MEM + (rb.inequality) <=> decpart
##
## -------------------
## incl cov.r cov.u (M1) (M2)
## ---------------------------------------------------
## 1 NB.DEM.MEM 1.000 0.458 0.136 0.136 0.186
## ---------------------------------------------------
## 2 RB.COMPLEXITY 1.000 0.864 0.000 0.542
## 3 rb.inequality 1.000 0.814 0.000 0.542
## ---------------------------------------------------
## M1 1.000 1.000
## M2 1.000 1.000
##
## cases
## -----------------------
## 1 NB.DEM.MEM IAEA2004,IAEA2005,IAEA2006,IAEA2007,IAEA2008; IAEA2002,IAEA2003;
## OPCW2004,OPCW2005,OPCW2006,OPCW2007,OPCW2008; IAEA2009,IAEA2010,IAEA2011;
## IAEA1993,IAEA1994,IAEA1995,IAEA1996,IAEA1997,IAEA1998; IAEA1999,IAEA2000,IAEA2001;
## OPCW2009,OPCW2010,OPCW2011
## -----------------------
## 2 RB.COMPLEXITY IAEA1957,IAEA1958,IAEA1959,IAEA1960,IAEA1961,IAEA1962,IAEA1963,IAEA1964,IAEA1965,IAEA1966,IAEA1967,IAEA1968,IAEA1969;
## IAEA1970,IAEA1971,IAEA1976,IAEA1977,IAEA1978,IAEA1979,IAEA1980,IAEA1981,IAEA1982;
## IAEA1989; IAEA1990,IAEA1991,IAEA1992; IAEA2004,IAEA2005,IAEA2006,IAEA2007,IAEA2008;
## IAEA1987,IAEA1988; IAEA2002,IAEA2003; IAEA2009,IAEA2010,IAEA2011;
## IAEA1983,IAEA1984,IAEA1985; IAEA1993,IAEA1994,IAEA1995,IAEA1996,IAEA1997,IAEA1998;
## IAEA1986; IAEA1999,IAEA2000,IAEA2001
## 3 rb.inequality IAEA1957,IAEA1958,IAEA1959,IAEA1960,IAEA1961,IAEA1962,IAEA1963,IAEA1964,IAEA1965,IAEA1966,IAEA1967,IAEA1968,IAEA1969;
## IAEA1970,IAEA1971,IAEA1976,IAEA1977,IAEA1978,IAEA1979,IAEA1980,IAEA1981,IAEA1982;
## IAEA1989; IAEA1990,IAEA1991,IAEA1992; IAEA2004,IAEA2005,IAEA2006,IAEA2007,IAEA2008;
## IAEA1987,IAEA1988; IAEA2002,IAEA2003; IAEA1983,IAEA1984,IAEA1985;
## IAEA1993,IAEA1994,IAEA1995,IAEA1996,IAEA1997,IAEA1998; IAEA1986;
## IAEA1999,IAEA2000,IAEA2001
## -----------------------
data_qca$DECTRANS <- data_qca$DEC.Trans # for QCA package conventions
tt <- truthTable(data_qca[c(1:55, 57:70), c(21, 10:17)],
outcome = c("DECTRANS"), incl.cut1=0.8, sort.by="incl",
show.cases = TRUE)
# necessary conditions
superSubset(data_qca[c(1:55, 57:70), c(21, 10:17)], outcome = "DECTRANS",
relation="nec", incl.cut=0.9, cov.cut=0.92)
##
## incl cov.r
## ------------------------------------------------
## 1 NB.OG.NORM 0.913 0.940
## 2 rb.complexity+NB.VISIBILITY.ALL 0.958 0.927
## 3 RB.INEQUALITY+NB.VISIBILITY.ALL 0.969 0.928
## ------------------------------------------------
# neg. outcome, to check for contradictions
superSubset(data_qca[c(1:55, 57:70), c(21, 10:17)], outcome = "DECTRANS",
relation="nec", incl.cut=0.9, cov.cut=1, neg.out = T)
##
## incl cov.r
## ------------------------------------------------------------------------------------
## 1 nb.visibility.all*nb.dem.mem*nb.og.norm 0.904 1.000
## 2 RB.COMPLEXITY*nb.visibility.all*nb.dem.mem 0.904 1.000
## 3 rb.inequality*nb.visibility.all*nb.dem.mem 0.904 1.000
## 4 RB.COMPLEXITY*nb.visibility.all*nb.dem.mem*nb.og.norm 0.904 1.000
## 5 rb.inequality*nb.visibility.all*nb.dem.mem*nb.og.norm 0.904 1.000
## 6 rb.inequality*RB.COMPLEXITY*nb.visibility.all*nb.dem.mem 0.904 1.000
## 7 rb.inequality*RB.COMPLEXITY*nb.visibility.all*nb.dem.mem*nb.og.norm 0.904 1.000
## ------------------------------------------------------------------------------------
# sufficient conditions w/o og.norm
tt <- truthTable(data_qca[c(1:55, 57:70), c(21, 10:16)],
outcome = c("DECTRANS"), incl.cut1=0.8, sort.by="incl",
show.cases = TRUE)
eqmcc(tt, include="?", show.cases = TRUE, details = TRUE)
##
## n OUT = 1/0/C: 36/33/0
## Total : 69
##
## Number of multiple-covered cases: 16
##
## M1: NB.DEM.MEM + NB.VISIBILITY.HL + (rb.complexity) <=> DECTRANS
## M2: NB.DEM.MEM + NB.VISIBILITY.HL + (RB.INEQUALITY) <=> DECTRANS
##
## -------------------
## incl cov.r cov.u (M1) (M2)
## ------------------------------------------------------
## 1 NB.DEM.MEM 0.952 0.718 0.291 0.291 0.291
## 2 NB.VISIBILITY.HL 0.909 0.279 0.059 0.059 0.059
## ------------------------------------------------------
## 3 rb.complexity 0.900 0.352 0.000 0.145
## 4 RB.INEQUALITY 0.918 0.436 0.000 0.145
## ------------------------------------------------------
## M1 0.917 0.922
## M2 0.917 0.922
##
## cases
## --------------------------
## 1 NB.DEM.MEM IAEA2004,IAEA2005,IAEA2006,IAEA2007,IAEA2008; IAEA2002,IAEA2003;
## IAEA2009,IAEA2010,IAEA2011; IAEA1993,IAEA1994,IAEA1995,IAEA1996,IAEA1997,IAEA1998;
## IAEA1999,IAEA2000,IAEA2001; OPCW2009,OPCW2010,OPCW2011;
## OPCW2004,OPCW2005,OPCW2006,OPCW2007,OPCW2008
## 2 NB.VISIBILITY.HL IAEA2002,IAEA2003; IAEA2009,IAEA2010,IAEA2011; IAEA1999,IAEA2000,IAEA2001;
## IAEA1987,IAEA1988; IAEA1986
## --------------------------
## 3 rb.complexity OPCW2009,OPCW2010,OPCW2011; OPCW2004,OPCW2005,OPCW2006,OPCW2007,OPCW2008;
## OPCW1999,OPCW2000,OPCW2001,OPCW2002; OPCW1998,OPCW2003
## 4 RB.INEQUALITY IAEA2009,IAEA2010,IAEA2011; OPCW2009,OPCW2010,OPCW2011;
## OPCW2004,OPCW2005,OPCW2006,OPCW2007,OPCW2008; OPCW1999,OPCW2000,OPCW2001,OPCW2002;
## OPCW1998,OPCW2003
## --------------------------
QCAfit(fsor(data_qca$NB.dem.mem, data_qca$NB.visibility.hl,
data_qca$RB.Inequality)[c(1:55, 57:70)],
data_qca$DECTRANS[c(1:55, 57:70)] )
## Cons. Suf. Cov. Suf. PRI PRODUCT
## [1,] 0.917 0.922 0.909 0.833
## attr(,"class")
## [1] "SetMethod"
# neg. outcome, to check for contradictions
tt <- truthTable(data_qca[c(1:55, 57:70), c(21, 10:16)],
outcome = c("DECTRANS"), incl.cut1=0.8, sort.by="incl",
show.cases = TRUE, neg.out = T)
eqmcc(tt, include="?", show.cases = TRUE, details = TRUE)
##
## n OUT = 1/0/C: 29/40/0
## Total : 69
##
## Number of multiple-covered cases: 0
##
## M1: RB.COMPLEXITY*nb.visibility.all <=> dectrans
## M2: rb.inequality*nb.visibility.all <=> dectrans
##
## -------------------
## incl cov.r cov.u (M1) (M2)
## ---------------------------------------------------------------------
## 1 RB.COMPLEXITY*nb.visibility.all 0.953 0.919 0.000 -
## 2 rb.inequality*nb.visibility.all 0.965 0.919 0.000 -
## ---------------------------------------------------------------------
## M1 0.953 0.919
## M2 0.965 0.919
##
## cases
## -----------------------------------------
## 1 RB.COMPLEXITY*nb.visibility.all IAEA1957,IAEA1958,IAEA1959,IAEA1960,IAEA1961,IAEA1962,IAEA1963,IAEA1964,IAEA1965,IAEA1966,IAEA1967,IAEA1968,IAEA1969;
## IAEA1970,IAEA1971,IAEA1972,IAEA1973,IAEA1974,IAEA1975,IAEA1976,IAEA1977,IAEA1978,IAEA1979,IAEA1980,IAEA1981,IAEA1982;
## IAEA1983,IAEA1984,IAEA1985
## 2 rb.inequality*nb.visibility.all IAEA1957,IAEA1958,IAEA1959,IAEA1960,IAEA1961,IAEA1962,IAEA1963,IAEA1964,IAEA1965,IAEA1966,IAEA1967,IAEA1968,IAEA1969;
## IAEA1970,IAEA1971,IAEA1972,IAEA1973,IAEA1974,IAEA1975,IAEA1976,IAEA1977,IAEA1978,IAEA1979,IAEA1980,IAEA1981,IAEA1982;
## IAEA1983,IAEA1984,IAEA1985
## -----------------------------------------
data_qca$ACTPART1 <- data_qca$ACT.Part.1 # for QCA package conventions
tt <- truthTable(data_qca[c(22, 10:17)], outcome = c("ACTPART1"),
incl.cut1=1, sort.by="incl", show.cases = TRUE)
# necessary conditions
superSubset(data_qca[c(22, 10:17)], outcome = "ACTPART1",
relation="nec", incl.cut=0.9, cov.cut=0.6)
##
## incl cov.r
## -----------------------------------------------
## 1 nb.gov.depth+NB.OG.NORM 0.971 0.644
## 2 nb.gov.depth+NB.DEM.MEM 0.943 0.645
## 3 NB.VISIBILITY.ALL+nb.gov.depth 0.943 0.609
## -----------------------------------------------
# neg. outcome, to check for contradictions
superSubset(data_qca[c(22, 10:17)], outcome = "ACTPART1",
relation="nec", incl.cut=0.9, cov.cut=0.6, neg.out = T)
##
## incl cov.r
## ---------------------------------------------
## 1 nb.gov.depth+nb.og.norm 0.977 0.695
## 2 nb.gov.depth+nb.dem.mem 1.000 0.686
## 3 nb.visibility.all+nb.og.norm 0.977 0.671
## 4 nb.visibility.all+nb.dem.mem 1.000 0.660
## 5 rb.complexity+nb.og.norm 0.977 0.695
## 6 rb.complexity+nb.dem.mem 1.000 0.686
## 7 RB.INEQUALITY+nb.og.norm 0.977 0.655
## 8 RB.INEQUALITY+nb.dem.mem 1.000 0.648
## ---------------------------------------------
## low governance depth is contradictory, necessary for OUT and out
# sufficient conditions
sc <- eqmcc(tt, include="?", show.cases = TRUE, details = TRUE)
sc
##
## n OUT = 1/0/C: 22/48/0
## Total : 70
##
## Number of multiple-covered cases: 9
##
## M1: RB.BUDGET*NB.DEM.MEM + (NB.GOV.DEPTH*NB.DEM.MEM) => ACTPART1
## M2: RB.BUDGET*NB.DEM.MEM + (NB.VISIBILITY.ALL*NB.DEM.MEM) => ACTPART1
## M3: RB.BUDGET*NB.DEM.MEM + (RB.COMPLEXITY*NB.DEM.MEM) => ACTPART1
##
## --------------------------
## incl cov.r cov.u (M1) (M2) (M3)
## -------------------------------------------------------------------------
## 1 RB.BUDGET*NB.DEM.MEM 1.000 0.274 0.069 0.069 0.069 0.069
## -------------------------------------------------------------------------
## 2 NB.GOV.DEPTH*NB.DEM.MEM 1.000 0.543 0.000 0.337
## 3 NB.VISIBILITY.ALL*NB.DEM.MEM 1.000 0.486 0.000 0.280
## 4 RB.COMPLEXITY*NB.DEM.MEM 1.000 0.543 0.000 0.337
## -------------------------------------------------------------------------
## M1 1.000 0.611
## M2 1.000 0.554
## M3 1.000 0.611
##
## cases
## --------------------------------------
## 1 RB.BUDGET*NB.DEM.MEM IAEA1993,IAEA1994,IAEA1995,IAEA1996,IAEA1997,IAEA1998;
## IAEA1999,IAEA2000,IAEA2001; OPCW2009,OPCW2010,OPCW2011
## --------------------------------------
## 2 NB.GOV.DEPTH*NB.DEM.MEM IAEA2004,IAEA2005,IAEA2006,IAEA2007,IAEA2008;
## IAEA2002,IAEA2003; IAEA2009,IAEA2010,IAEA2011;
## IAEA1993,IAEA1994,IAEA1995,IAEA1996,IAEA1997,IAEA1998;
## IAEA1999,IAEA2000,IAEA2001
## 3 NB.VISIBILITY.ALL*NB.DEM.MEM IAEA2004,IAEA2005,IAEA2006,IAEA2007,IAEA2008;
## IAEA2002,IAEA2003; IAEA2009,IAEA2010,IAEA2011;
## IAEA1993,IAEA1994,IAEA1995,IAEA1996,IAEA1997,IAEA1998;
## IAEA1999,IAEA2000,IAEA2001
## 4 RB.COMPLEXITY*NB.DEM.MEM IAEA2004,IAEA2005,IAEA2006,IAEA2007,IAEA2008;
## IAEA2002,IAEA2003; IAEA2009,IAEA2010,IAEA2011;
## IAEA1993,IAEA1994,IAEA1995,IAEA1996,IAEA1997,IAEA1998;
## IAEA1999,IAEA2000,IAEA2001
## --------------------------------------
factorize(sc)
##
## M1: RB.BUDGET*NB.DEM.MEM + NB.GOV.DEPTH*NB.DEM.MEM
##
## F1: NB.DEM.MEM*(RB.BUDGET + NB.GOV.DEPTH)
##
##
## M2: RB.BUDGET*NB.DEM.MEM + NB.VISIBILITY.ALL*NB.DEM.MEM
##
## F1: NB.DEM.MEM*(RB.BUDGET + NB.VISIBILITY.ALL)
##
##
## M3: RB.BUDGET*NB.DEM.MEM + RB.COMPLEXITY*NB.DEM.MEM
##
## F1: NB.DEM.MEM*(RB.BUDGET + RB.COMPLEXITY)
QCAfit(x = fsand(data_qca$NB.dem.mem, fsor(data_qca$RB.Budget,
data_qca$NB.gov.depth, data_qca$NB.visibility.all)),
y = data_qca$ACTPART1)
## Cons. Suf. Cov. Suf. PRI PRODUCT
## [1,] 1 0.611 1 1
## attr(,"class")
## [1] "SetMethod"
# neg. outcome, to check for contradictions
tt <- truthTable(data_qca[c(22, 10:17)], outcome = c("ACTPART1"),
incl.cut1=1, sort.by="incl", show.cases = TRUE,
neg.out = T)
eqmcc(tt, include="?", show.cases = TRUE, details = TRUE)
##
## n OUT = 1/0/C: 19/51/0
## Total : 70
##
## Number of multiple-covered cases: 0
##
## M1: nb.visibility.all*NB.GOV.DEPTH + (NB.VISIBILITY.HL*nb.dem.mem)
## => actpart1
## M2: nb.visibility.all*NB.GOV.DEPTH + (NB.VISIBILITY.HL*nb.og.norm)
## => actpart1
##
## -------------------
## incl cov.r cov.u (M1) (M2)
## --------------------------------------------------------------------
## 1 nb.visibility.all*NB.GOV.DEPTH 0.873 0.394 0.377 0.377 0.377
## --------------------------------------------------------------------
## 2 NB.VISIBILITY.HL*nb.dem.mem 1.000 0.086 0.000 0.069
## 3 NB.VISIBILITY.HL*nb.og.norm 1.000 0.086 0.000 0.069
## --------------------------------------------------------------------
## M1 0.890 0.463
## M2 0.890 0.463
##
## cases
## ----------------------------------------
## 1 nb.visibility.all*NB.GOV.DEPTH IAEA1970,IAEA1971,IAEA1972,IAEA1973,IAEA1974,IAEA1975,IAEA1976,IAEA1977,IAEA1978,IAEA1979,IAEA1980,IAEA1981,IAEA1982;
## IAEA1983,IAEA1984,IAEA1985
## ----------------------------------------
## 2 NB.VISIBILITY.HL*nb.dem.mem IAEA1987,IAEA1988; IAEA1986
## 3 NB.VISIBILITY.HL*nb.og.norm IAEA1987,IAEA1988; IAEA1986
## ----------------------------------------
data_qca$ACTPART2 <- data_qca$ACT.Part.2 # for QCA package conventions
tt <- truthTable(data_qca[c(23, 10:17)], outcome = c("ACTPART2"),
incl.cut1=1, sort.by="incl", show.cases = TRUE)
# necessary conditions
superSubset(data_qca[c(23, 10:17)], outcome = "ACTPART2",
relation="nec", incl.cut=0.8, cov.cut=0.5)
##
## incl cov.r
## ----------------------------------------------------
## 1 RB.INEQUALITY*NB.DEM.MEM 0.857 0.545
## 2 RB.INEQUALITY*NB.DEM.MEM*NB.OG.NORM 0.857 0.545
## ----------------------------------------------------
# neg. outcome, to check for contradictions
superSubset(data_qca[c(23, 10:17)], outcome = "ACTPART2",
relation="nec", incl.cut=0.8, cov.cut=0.92,
neg.out = T)
##
## incl cov.r
## --------------------------------------------------------
## 1 nb.visibility.hl 0.873 0.932
## 2 RB.COMPLEXITY 0.810 0.927
## 3 rb.inequality 0.810 0.981
## 4 rb.inequality*RB.COMPLEXITY 0.810 0.981
## 5 NB.GOV.DEPTH+nb.og.norm 0.806 0.927
## 6 NB.GOV.DEPTH+nb.dem.mem 0.921 0.935
## 7 NB.VISIBILITY.ALL+nb.dem.mem 0.898 0.943
## 8 rb.budget+nb.dem.mem 0.886 0.924
## 9 rb.budget+NB.GOV.DEPTH 0.924 0.927
## 10 rb.budget+NB.VISIBILITY.ALL 0.873 0.923
## 11 rb.budget+NB.VISIBILITY.HL+nb.og.norm 0.860 0.922
## 12 RB.BUDGET+nb.gov.depth+nb.og.norm 0.838 0.946
## 13 RB.BUDGET+nb.gov.depth+nb.dem.mem 0.876 0.948
## 14 RB.BUDGET+nb.visibility.all+nb.og.norm 0.838 0.936
## 15 RB.BUDGET+nb.visibility.all+nb.dem.mem 0.876 0.939
## 16 RB.BUDGET+rb.complexity+nb.og.norm 0.838 0.946
## 17 RB.BUDGET+rb.complexity+nb.dem.mem 0.876 0.948
## --------------------------------------------------------
# sufficient conditions
eqmcc(tt, include="?", show.cases = TRUE, details = TRUE)
##
## n OUT = 1/0/C: 6/64/0
## Total : 70
##
## Number of multiple-covered cases: 0
##
## M01: RB.INEQUALITY*NB.GOV.DEPTH + RB.BUDGET*nb.gov.depth*NB.DEM.MEM
## => ACTPART2
## M02: RB.INEQUALITY*NB.GOV.DEPTH + RB.BUDGET*nb.visibility.all*NB.DEM.MEM
## => ACTPART2
## M03: RB.INEQUALITY*NB.GOV.DEPTH + RB.BUDGET*rb.complexity*NB.DEM.MEM
## => ACTPART2
## M04: RB.INEQUALITY*NB.GOV.DEPTH + RB.BUDGET*RB.INEQUALITY*NB.DEM.MEM
## => ACTPART2
## M05: RB.INEQUALITY*NB.VISIBILITY.ALL + RB.BUDGET*nb.gov.depth*NB.DEM.MEM
## => ACTPART2
## M06: RB.INEQUALITY*NB.VISIBILITY.ALL +
## RB.BUDGET*nb.visibility.all*NB.DEM.MEM => ACTPART2
## M07: RB.INEQUALITY*NB.VISIBILITY.ALL + RB.BUDGET*rb.complexity*NB.DEM.MEM
## => ACTPART2
## M08: RB.INEQUALITY*NB.VISIBILITY.ALL + RB.BUDGET*RB.INEQUALITY*NB.DEM.MEM
## => ACTPART2
## M09: RB.INEQUALITY*NB.VISIBILITY.HL + RB.BUDGET*nb.gov.depth*NB.DEM.MEM
## => ACTPART2
## M10: RB.INEQUALITY*NB.VISIBILITY.HL +
## RB.BUDGET*nb.visibility.all*NB.DEM.MEM => ACTPART2
## M11: RB.INEQUALITY*NB.VISIBILITY.HL + RB.BUDGET*rb.complexity*NB.DEM.MEM
## => ACTPART2
## M12: RB.INEQUALITY*NB.VISIBILITY.HL + RB.BUDGET*RB.INEQUALITY*NB.DEM.MEM
## => ACTPART2
## M13: RB.INEQUALITY*RB.COMPLEXITY + RB.BUDGET*nb.gov.depth*NB.DEM.MEM
## => ACTPART2
## M14: RB.INEQUALITY*RB.COMPLEXITY + RB.BUDGET*nb.visibility.all*NB.DEM.MEM
## => ACTPART2
## M15: RB.INEQUALITY*RB.COMPLEXITY + RB.BUDGET*rb.complexity*NB.DEM.MEM
## => ACTPART2
## M16: RB.INEQUALITY*RB.COMPLEXITY + RB.BUDGET*RB.INEQUALITY*NB.DEM.MEM
## => ACTPART2
##
##
## -------------------
## incl cov.r cov.u (M1) (M2)
## ----------------------------------------------------------------------------
## 1 RB.INEQUALITY*NB.GOV.DEPTH 1.000 0.429 0.000 0.429 0.429
## 2 RB.INEQUALITY*NB.VISIBILITY.ALL 1.000 0.371 0.000
## 3 RB.INEQUALITY*NB.VISIBILITY.HL 1.000 0.429 0.000
## 4 RB.INEQUALITY*RB.COMPLEXITY 1.000 0.429 0.000
## 5 RB.BUDGET*nb.gov.depth*NB.DEM.MEM 1.000 0.343 0.000 0.343
## 6 RB.BUDGET*nb.visibility.all*NB.DEM.MEM 0.632 0.343 0.000 0.343
## 7 RB.BUDGET*rb.complexity*NB.DEM.MEM 1.000 0.343 0.000
## 8 RB.BUDGET*RB.INEQUALITY*NB.DEM.MEM 1.000 0.343 0.000
## ----------------------------------------------------------------------------
## M1 1.000 0.771
## M2 0.794 0.771
## M3 1.000 0.771
## M4 1.000 0.771
## M5 1.000 0.714
## M6 0.781 0.714
## M7 1.000 0.714
## M8 1.000 0.714
## M9 1.000 0.771
## M10 0.794 0.771
## M11 1.000 0.771
## M12 1.000 0.771
## M13 1.000 0.771
## M14 0.794 0.771
## M15 1.000 0.771
## M16 1.000 0.771
##
##
## ----------------------------------------------------------------------------
## (M3) (M4) (M5) (M6) (M7)
## ----------------------------------------------------------------------------
## 1 RB.INEQUALITY*NB.GOV.DEPTH 0.429 0.429
## 2 RB.INEQUALITY*NB.VISIBILITY.ALL 0.371 0.371 0.371
## 3 RB.INEQUALITY*NB.VISIBILITY.HL
## 4 RB.INEQUALITY*RB.COMPLEXITY
## 5 RB.BUDGET*nb.gov.depth*NB.DEM.MEM 0.343
## 6 RB.BUDGET*nb.visibility.all*NB.DEM.MEM 0.343
## 7 RB.BUDGET*rb.complexity*NB.DEM.MEM 0.343 0.343
## 8 RB.BUDGET*RB.INEQUALITY*NB.DEM.MEM 0.343
## ----------------------------------------------------------------------------
##
##
## ----------------------------------------------------------------------------
## (M8) (M9) (M10) (M11) (M12)
## ----------------------------------------------------------------------------
## 1 RB.INEQUALITY*NB.GOV.DEPTH
## 2 RB.INEQUALITY*NB.VISIBILITY.ALL 0.371
## 3 RB.INEQUALITY*NB.VISIBILITY.HL 0.429 0.429 0.429 0.429
## 4 RB.INEQUALITY*RB.COMPLEXITY
## 5 RB.BUDGET*nb.gov.depth*NB.DEM.MEM 0.343
## 6 RB.BUDGET*nb.visibility.all*NB.DEM.MEM 0.343
## 7 RB.BUDGET*rb.complexity*NB.DEM.MEM 0.343
## 8 RB.BUDGET*RB.INEQUALITY*NB.DEM.MEM 0.343 0.343
## ----------------------------------------------------------------------------
##
## ---------------------------------------------------------------------
## (M13) (M14) (M15) (M16)
## ---------------------------------------------------------------------
## 1 RB.INEQUALITY*NB.GOV.DEPTH
## 2 RB.INEQUALITY*NB.VISIBILITY.ALL
## 3 RB.INEQUALITY*NB.VISIBILITY.HL
## 4 RB.INEQUALITY*RB.COMPLEXITY 0.429 0.429 0.429 0.429
## 5 RB.BUDGET*nb.gov.depth*NB.DEM.MEM 0.343
## 6 RB.BUDGET*nb.visibility.all*NB.DEM.MEM 0.343
## 7 RB.BUDGET*rb.complexity*NB.DEM.MEM 0.343
## 8 RB.BUDGET*RB.INEQUALITY*NB.DEM.MEM 0.343
## ---------------------------------------------------------------------
##
## cases
## ------------------------------------------------
## 1 RB.INEQUALITY*NB.GOV.DEPTH IAEA2009,IAEA2010,IAEA2011
## 2 RB.INEQUALITY*NB.VISIBILITY.ALL IAEA2009,IAEA2010,IAEA2011
## 3 RB.INEQUALITY*NB.VISIBILITY.HL IAEA2009,IAEA2010,IAEA2011
## 4 RB.INEQUALITY*RB.COMPLEXITY IAEA2009,IAEA2010,IAEA2011
## 5 RB.BUDGET*nb.gov.depth*NB.DEM.MEM OPCW2009,OPCW2010,OPCW2011
## 6 RB.BUDGET*nb.visibility.all*NB.DEM.MEM OPCW2009,OPCW2010,OPCW2011
## 7 RB.BUDGET*rb.complexity*NB.DEM.MEM OPCW2009,OPCW2010,OPCW2011
## 8 RB.BUDGET*RB.INEQUALITY*NB.DEM.MEM OPCW2009,OPCW2010,OPCW2011
## ------------------------------------------------
# neg. outcome, to check for contradictions
tt <- truthTable(data_qca[c(23, 10:17)], outcome = c("ACTPART2"),
incl.cut1=1, sort.by="incl", show.cases = TRUE,
neg.out = T)
eqmcc(tt, include="?", show.cases = TRUE, details = TRUE)
##
## n OUT = 1/0/C: 54/16/0
## Total : 70
##
## Number of multiple-covered cases: 9
##
## M1: nb.dem.mem + rb.inequality*NB.VISIBILITY.HL + (RB.BUDGET*NB.GOV.DEPTH)
## => actpart2
## M2: nb.dem.mem + rb.inequality*NB.VISIBILITY.HL +
## (RB.BUDGET*NB.VISIBILITY.ALL) => actpart2
## M3: nb.dem.mem + rb.inequality*NB.VISIBILITY.HL +
## (RB.BUDGET*RB.COMPLEXITY) => actpart2
## M4: nb.dem.mem + rb.inequality*NB.VISIBILITY.HL +
## (RB.BUDGET*rb.inequality) => actpart2
##
##
## --------------------------
## incl cov.r cov.u (M1) (M2) (M3)
## ---------------------------------------------------------------------------
## 1 nb.dem.mem 1.000 0.683 0.597 0.597 0.635 0.597
## 2 rb.inequality*NB.VISIBILITY.HL 1.000 0.127 0.041 0.041 0.041 0.041
## ---------------------------------------------------------------------------
## 3 RB.BUDGET*NB.GOV.DEPTH 1.000 0.165 0.000 0.076
## 4 RB.BUDGET*NB.VISIBILITY.ALL 1.000 0.127 0.000 0.076
## 5 RB.BUDGET*RB.COMPLEXITY 1.000 0.165 0.000 0.076
## 6 RB.BUDGET*rb.inequality 1.000 0.165 0.000
## ---------------------------------------------------------------------------
## M1 1.000 0.838
## M2 1.000 0.838
## M3 1.000 0.838
## M4 1.000 0.838
##
## ----------------------------------------
## (M4)
## ----------------------------------------
## 1 nb.dem.mem 0.597
## 2 rb.inequality*NB.VISIBILITY.HL 0.041
## ----------------------------------------
## 3 RB.BUDGET*NB.GOV.DEPTH
## 4 RB.BUDGET*NB.VISIBILITY.ALL
## 5 RB.BUDGET*RB.COMPLEXITY
## 6 RB.BUDGET*rb.inequality 0.076
## ----------------------------------------
##
## cases
## ----------------------------------------
## 3 nb.dem.mem IAEA1957,IAEA1958,IAEA1959,IAEA1960,IAEA1961,IAEA1962,IAEA1963,IAEA1964,IAEA1965,IAEA1966,IAEA1967,IAEA1968,IAEA1969;
## IAEA1970,IAEA1971,IAEA1972,IAEA1973,IAEA1974,IAEA1975,IAEA1976,IAEA1977,IAEA1978,IAEA1979,IAEA1980,IAEA1981,IAEA1982;
## IAEA1989; IAEA1990,IAEA1991,IAEA1992; IAEA1987,IAEA1988;
## OPCW1997,OPCW1998,OPCW2003; IAEA1983,IAEA1984,IAEA1985;
## IAEA1986; OPCW1999,OPCW2000,OPCW2001,OPCW2002
## 4 rb.inequality*NB.VISIBILITY.HL IAEA1987,IAEA1988; IAEA2002,IAEA2003; IAEA1986;
## IAEA1999,IAEA2000,IAEA2001
## ----------------------------------------
## 3 RB.BUDGET*NB.GOV.DEPTH IAEA1983,IAEA1984,IAEA1985; IAEA1993,IAEA1994,IAEA1995,IAEA1996,IAEA1997,IAEA1998;
## IAEA1986; IAEA1999,IAEA2000,IAEA2001
## 4 RB.BUDGET*NB.VISIBILITY.ALL IAEA1993,IAEA1994,IAEA1995,IAEA1996,IAEA1997,IAEA1998;
## IAEA1986; IAEA1999,IAEA2000,IAEA2001
## 5 RB.BUDGET*RB.COMPLEXITY IAEA1983,IAEA1984,IAEA1985; IAEA1993,IAEA1994,IAEA1995,IAEA1996,IAEA1997,IAEA1998;
## IAEA1986; IAEA1999,IAEA2000,IAEA2001
## 6 RB.BUDGET*rb.inequality IAEA1983,IAEA1984,IAEA1985; IAEA1993,IAEA1994,IAEA1995,IAEA1996,IAEA1997,IAEA1998;
## IAEA1986; IAEA1999,IAEA2000,IAEA2001
## ----------------------------------------
data_qca$ACTPART4 <- data_qca$ACT.Part.4 # for QCA package conventions
tt <- truthTable(data_qca[c(24, 10:17)], outcome = c("ACTPART4"),
incl.cut1=0.7, sort.by="incl", show.cases = TRUE)
# necessary conditions
superSubset(data_qca[c(24, 10:17)], outcome = "ACTPART4",
relation="nec", incl.cut=0.9, cov.cut=0.7)
##
## incl cov.r
## -------------------------------------------------------
## 1 RB.BUDGET+NB.VISIBILITY.ALL+NB.DEM.MEM 0.916 0.721
## -------------------------------------------------------
# neg. outcome, to check for contradictions
superSubset(data_qca[c(24, 10:17)], outcome = "ACTPART4",
relation="nec", incl.cut=0.9, cov.cut=0.63,
neg.out = T)
##
## incl cov.r
## ---------------------------------------------------
## 1 nb.visibility.hl 0.974 0.644
## 2 nb.visibility.all+NB.VISIBILITY.HL 0.913 0.631
## 3 RB.BUDGET+nb.visibility.all 0.933 0.682
## 4 RB.BUDGET+nb.gov.depth+nb.og.norm 0.933 0.652
## 5 RB.BUDGET+rb.complexity+nb.og.norm 0.933 0.652
## ---------------------------------------------------
# sufficient conditions w/o nc from above
tt <- truthTable(data_qca[c(1:56, 58:61, 63:70), c(24, 11:12, 14:15, 17)],
outcome = c("ACTPART4"), incl.cut1=0.7, sort.by="incl",
show.cases = TRUE)
eqmcc(tt, include="?", show.cases = TRUE, details = TRUE)
##
## n OUT = 1/0/C: 25/43/0
## Total : 68
##
## Number of multiple-covered cases: 8
##
## M1: NB.VISIBILITY.HL + (NB.GOV.DEPTH*NB.OG.NORM) => ACTPART4
## M2: NB.VISIBILITY.HL + (RB.COMPLEXITY*NB.OG.NORM) => ACTPART4
## M3: NB.VISIBILITY.HL + (rb.inequality*NB.OG.NORM) => ACTPART4
##
## --------------------------
## incl cov.r cov.u (M1) (M2) (M3)
## ---------------------------------------------------------------------
## 1 NB.VISIBILITY.HL 0.909 0.323 0.097 0.097 0.097 0.194
## ---------------------------------------------------------------------
## 2 NB.GOV.DEPTH*NB.OG.NORM 0.769 0.516 0.000 0.290
## 3 RB.COMPLEXITY*NB.OG.NORM 0.769 0.516 0.000 0.290
## 4 rb.inequality*NB.OG.NORM 0.730 0.419 0.000 0.290
## ---------------------------------------------------------------------
## M1 0.798 0.613
## M2 0.798 0.613
## M3 0.798 0.613
##
## cases
## ----------------------------------
## 1 NB.VISIBILITY.HL IAEA1986,IAEA1987,IAEA1988; IAEA2009,IAEA2010,IAEA2011;
## IAEA1999,IAEA2000,IAEA2001,IAEA2002,IAEA2003
## ----------------------------------
## 2 NB.GOV.DEPTH*NB.OG.NORM IAEA2009,IAEA2010,IAEA2011; IAEA1999,IAEA2000,IAEA2001,IAEA2002,IAEA2003;
## IAEA1990,IAEA1991,IAEA1992,IAEA1993,IAEA1994,IAEA1995,IAEA1996,IAEA1997,IAEA1998,IAEA2004,IAEA2005,IAEA2006,IAEA2007,IAEA2008
## 3 RB.COMPLEXITY*NB.OG.NORM IAEA2009,IAEA2010,IAEA2011; IAEA1999,IAEA2000,IAEA2001,IAEA2002,IAEA2003;
## IAEA1990,IAEA1991,IAEA1992,IAEA1993,IAEA1994,IAEA1995,IAEA1996,IAEA1997,IAEA1998,IAEA2004,IAEA2005,IAEA2006,IAEA2007,IAEA2008
## 4 rb.inequality*NB.OG.NORM IAEA1999,IAEA2000,IAEA2001,IAEA2002,IAEA2003; IAEA1990,IAEA1991,IAEA1992,IAEA1993,IAEA1994,IAEA1995,IAEA1996,IAEA1997,IAEA1998,IAEA2004,IAEA2005,IAEA2006,IAEA2007,IAEA2008
## ----------------------------------
QCAfit(fsor(data_qca$NB.visibility.hl, fsand(data_qca$NB.gov.depth,
data_qca$NB.og.norm)), data_qca$ACTPART4)
## Cons. Suf. Cov. Suf. PRI PRODUCT
## [1,] 0.798 0.613 0.798 0.637
## attr(,"class")
## [1] "SetMethod"
# neg. outcome, to check for contradictions
tt <- truthTable(data_qca[c(1:56, 58:61, 63:70), c(24, 11:12, 14:15, 17)],
outcome = c("ACTPART4"), incl.cut1=0.7, sort.by="incl",
show.cases = TRUE, neg.out = T)
eqmcc(tt, include="?", show.cases = TRUE, details = TRUE)
##
## n OUT = 1/0/C: 13/55/0
## Total : 68
##
## Number of multiple-covered cases: 0
##
## M1: nb.gov.depth*nb.og.norm => actpart4
## M2: RB.COMPLEXITY*nb.gov.depth => actpart4
## M3: rb.inequality*nb.gov.depth => actpart4
##
## --------------------------
## incl cov.r cov.u (M1) (M2) (M3)
## -----------------------------------------------------------------------
## 1 nb.gov.depth*nb.og.norm 0.895 0.416 0.000 -
## 2 RB.COMPLEXITY*nb.gov.depth 0.895 0.416 0.000 -
## 3 rb.inequality*nb.gov.depth 0.895 0.416 0.000 -
## -----------------------------------------------------------------------
## M1 0.895 0.416
## M2 0.895 0.416
## M3 0.895 0.416
##
## cases
## ------------------------------------
## 1 nb.gov.depth*nb.og.norm IAEA1957,IAEA1958,IAEA1959,IAEA1960,IAEA1961,IAEA1962,IAEA1963,IAEA1964,IAEA1965,IAEA1966,IAEA1967,IAEA1968,IAEA1969
## 2 RB.COMPLEXITY*nb.gov.depth IAEA1957,IAEA1958,IAEA1959,IAEA1960,IAEA1961,IAEA1962,IAEA1963,IAEA1964,IAEA1965,IAEA1966,IAEA1967,IAEA1968,IAEA1969
## 3 rb.inequality*nb.gov.depth IAEA1957,IAEA1958,IAEA1959,IAEA1960,IAEA1961,IAEA1962,IAEA1963,IAEA1964,IAEA1965,IAEA1966,IAEA1967,IAEA1968,IAEA1969
## ------------------------------------
data_qca$ACTTRANS <- data_qca$ACT.Trans # for QCA package conventions
tt <- truthTable(data_qca[c(1:4, 8:70), c(25, 10:17)],
outcome = c("ACTTRANS"), incl.cut1=0.7, sort.by="incl",
show.cases = TRUE)
# necessary conditions
superSubset(data_qca[c(1:4, 8:70), c(25, 10:17)], outcome = "ACTTRANS",
relation="nec", incl.cut=1, cov.cut=0.4)
##
## incl cov.r
## ------------------------------------------------
## 1 NB.DEM.MEM 1.000 0.519
## 2 NB.DEM.MEM*NB.OG.NORM 1.000 0.530
## 3 rb.budget*NB.OG.NORM 1.000 0.614
## 4 rb.budget*NB.DEM.MEM 1.000 0.805
## 5 rb.budget*NB.DEM.MEM*NB.OG.NORM 1.000 0.805
## ------------------------------------------------
# neg. outcome, to check for contradictions
superSubset(data_qca[c(1:4, 8:70), c(25, 10:17)], outcome = "ACTTRANS",
relation="nec", incl.cut=1, cov.cut=0.4, neg.out = T)
##
## incl cov.r
## ---------------------------------------------------------------------------
## 1 RB.COMPLEXITY+NB.OG.NORM 1.000 0.791
## 2 RB.COMPLEXITY+nb.gov.depth 1.000 0.791
## 3 RB.COMPLEXITY+nb.visibility.hl 1.000 0.791
## 4 RB.COMPLEXITY+nb.visibility.all 1.000 0.791
## 5 rb.inequality+NB.OG.NORM 1.000 0.791
## 6 rb.inequality+nb.gov.depth 1.000 0.828
## 7 rb.inequality+nb.visibility.hl 1.000 0.828
## 8 rb.inequality+nb.visibility.all 1.000 0.823
## 9 rb.inequality+rb.complexity 1.000 0.828
## 10 RB.INEQUALITY+RB.COMPLEXITY 1.000 0.791
## 11 NB.GOV.DEPTH+nb.dem.mem+NB.OG.NORM 1.000 0.791
## 12 nb.visibility.hl+nb.dem.mem+NB.OG.NORM 1.000 0.791
## 13 nb.visibility.hl+NB.DEM.MEM+nb.og.norm 1.000 0.791
## 14 nb.visibility.hl+NB.GOV.DEPTH+nb.og.norm 1.000 0.791
## 15 nb.visibility.hl+NB.GOV.DEPTH+nb.dem.mem 1.000 0.791
## 16 nb.visibility.all+NB.GOV.DEPTH+nb.dem.mem 1.000 0.791
## 17 rb.complexity+NB.GOV.DEPTH+nb.dem.mem 1.000 0.791
## 18 RB.INEQUALITY+NB.GOV.DEPTH+nb.dem.mem 1.000 0.791
## 19 rb.budget+nb.gov.depth+NB.DEM.MEM+nb.og.norm 1.000 0.791
## 20 rb.budget+nb.visibility.all+NB.DEM.MEM+nb.og.norm 1.000 0.791
## 21 rb.budget+nb.visibility.all+NB.GOV.DEPTH+nb.og.norm 1.000 0.791
## 22 rb.budget+nb.visibility.all+NB.VISIBILITY.HL+NB.DEM.MEM 1.000 0.791
## 23 rb.budget+nb.visibility.all+NB.VISIBILITY.HL+NB.GOV.DEPTH 1.000 0.791
## 24 rb.budget+rb.complexity+NB.DEM.MEM+nb.og.norm 1.000 0.791
## 25 rb.budget+rb.complexity+NB.GOV.DEPTH+nb.og.norm 1.000 0.791
## 26 rb.budget+RB.INEQUALITY+NB.DEM.MEM+nb.og.norm 1.000 0.791
## 27 rb.budget+RB.INEQUALITY+NB.GOV.DEPTH+nb.og.norm 1.000 0.791
## ---------------------------------------------------------------------------
#sufficient condition, without democratic members
tt <- truthTable(data_qca[c(1:4, 8:70), c(25, 10:15, 17)],
outcome = c("ACTTRANS"), incl.cut1=0.7, sort.by="incl",
show.cases = TRUE)
eqmcc(tt, include="?", show.cases = TRUE, details = TRUE)
##
## n OUT = 1/0/C: 5/62/0
## Total : 67
##
## Number of multiple-covered cases: 0
##
## M1: rb.budget*NB.VISIBILITY.HL*NB.OG.NORM => ACTTRANS
##
## incl cov.r cov.u
## -------------------------------------------------------------
## 1 rb.budget*NB.VISIBILITY.HL*NB.OG.NORM 0.893 0.357 -
## -------------------------------------------------------------
## M1 0.893 0.357
##
## cases
## -----------------------------------------------
## 1 rb.budget*NB.VISIBILITY.HL*NB.OG.NORM IAEA2009,IAEA2010,IAEA2011; IAEA2002,IAEA2003
## -----------------------------------------------
# neg. outcome, to check for contradictions
tt <- truthTable(data_qca[c(1:4, 8:70), c(25, 10:15, 17)],
outcome = c("ACTTRANS"), incl.cut1=0.7, sort.by="incl",
show.cases = TRUE, neg.out = T)
eqmcc(tt, include="?", show.cases = TRUE, details = TRUE)
##
## n OUT = 1/0/C: 46/21/0
## Total : 67
##
## Number of multiple-covered cases: 4
##
## M1: nb.og.norm + RB.BUDGET <=> acttrans
##
## incl cov.r cov.u
## ----------------------------------
## 1 nb.og.norm 1.000 0.589 0.517
## 2 RB.BUDGET 1.000 0.317 0.245
## ----------------------------------
## M1 1.000 0.834
##
## cases
## --------------------
## 1 nb.og.norm IAEA1957,IAEA1958,IAEA1959,IAEA1960,IAEA1964,IAEA1965,IAEA1966,IAEA1967,IAEA1968,IAEA1969;
## IAEA1970,IAEA1971,IAEA1972,IAEA1973,IAEA1974,IAEA1975,IAEA1976,IAEA1977,IAEA1978,IAEA1979,IAEA1980,IAEA1981,IAEA1982;
## IAEA1989; IAEA1987,IAEA1988; IAEA1983,IAEA1984,IAEA1985; IAEA1986
## 2 RB.BUDGET IAEA1983,IAEA1984,IAEA1985; IAEA1993,IAEA1994,IAEA1995,IAEA1996,IAEA1997,IAEA1998;
## IAEA1986; IAEA1999,IAEA2000,IAEA2001; OPCW1999,OPCW2000,OPCW2001,OPCW2002,OPCW2009,OPCW2010,OPCW2011
## --------------------
Dusa, Adrian and Alrik Thiem (2014). QCA: A Package for Qualitative Comparative Analysis. R package version 1.1-3. URL: http://cran.r-project.org/package=QCA. Fellows, Ian (2014). wordcloud: Word Clouds. R package version 2.5. URL: http://CRAN.R-project.org/package=wordcloud. Fox, John and Sanford Weisberg (2011). An {R} Companion to Applied Regression, Second Edition. Thousand Oaks CA: Sage. URL: http://socserv.socsci.mcmaster.ca/jfox/Books/Companion. Huang, Ronggui. (2014). QCA3: Yet another package for Qualitative Comparative Analysis. R package version 0.0-7. URL: http://asrr.r-forge.r-project.org/. Quaranta, Mario (2013). SetMethods: A Package Companion to “Set-Theoretic Methods for the Social Sciences”. R package version 1.0. URL: http://CRAN.R-project.org/package=SetMethods.↩